When information, such as voice or data, is received by a wireless communication device, such as a mobile station or a base transceiver station, the information is digitized, if not already in a digital format, and processed by one or more tasks performed by a respective processor of the communication device. The digitized data is then processed pursuant to a known protocol scheme. A layered representation of protocols is commonly known as a protocol stack. A protocol stack commonly used for the interconnection of network systems is the TCP/IP Suite, named for two of the protocols, Transmission Control Protocol (TCP) and Internet Protocol (IP), in the stack. The TCP/IP protocol stack includes five layers, which layers are, from highest to lowest, an Application Layer, a Transport Layer, a Network Layer, a Link Layer, and a Physical Layer.
Layer 2, that is, the Link Layer or Data-Link Layer, provides the functional and procedural means to transfer data between network entities and to detect and possibly correct errors that may occur in the Physical Layer. Layer 2 implements protocols that assure a reliable transmission of data in a communication system that guarantees delivery of data. In order to assure a reliable transmission, Layer 2 implements a reliable transport protocol, such as Radio Link Protocol (RLP)/Radio Link Control (RLC), to re-transmit frames of data that were lost over the radio interface.
When a reliable transport protocol is used and a receiving communication device is unable to correctly decode a received frame, a corresponding transmitting communication device re-transmits the incorrectly received frame. For example, a receiving communication device that is unable to correctly decode a received frame may transmit a NAK to the transmitting communication device that identifies a sequence number of the erroneous frame. In response to receiving the NAK, the transmitting communication device re-transmits the frame. In order to re-transmit erroneously received frames, the transmitting communication device is required to buffer all transmitted frames in an RLP buffer until the transmitting communication device determines that the frames have been correctly received. When a buffered frame is incorrectly received, all subsequently transmitted frames are maintained in the buffer until the incorrectly received frame is corrected by re-transmission or is aborted. With the advent of high data rate systems, such as a CDMA (Code Division Multiple Access) 1XEV-DV communication system, data rates as high as 3 Megabits per second (Mbps) may be achieved. In such a system, assuming a maximum buffer space of 2048 Packet Data Units (PDUs), the transmit buffer may fill up in 2048 (PDUs)*46 (bytes per PDU)*8 (bits per byte)/3 Mbps=250 milliseconds (ms). When a lower end of an RLP re-transmission window, that is, L_V(N), which is a sequence number of a next RLP frame needed by the receiving communication device for a sequential delivery of frames to a higher layer, is stuck due to an incorrectly received frame while an upper end of the window, that is, L_V(S), which is a sequence number of a next RLP frame to be transmitted by the transmitting communication device, rapidly expands due to high bandwidth flow, it is possible to exhaust the transmit buffer space, leading to a queue stall, that is, a stall in a transmission of new frames. The queue stall produces transmission delays and a drop in a data rate provided to a user.
Therefore a need exists for a method and an apparatus that minimizes the occurrences of a queue stall during a communication session employing a reliable transport protocol.